Predicate - tests a candidate String to see if it is allowable
Supplier> - supplies all allowable String in the form of a list. As typical with suppliers, it is not required but beneficial that the supplier provide a new list on each call